#define _CRT_SECURE_NO_WARNINGS 1


//#include<iostream>
//
//using namespace std;
//
//class Car;
//
//class Boat
//{
//private:
//	int _w;
//public:
//	Boat(int w) :_w(w)
//	{ }
//	friend int GetWeight(Car c, Boat b);
//};
//
//class Car
//{
//private:
//	int _w;
//public:
//	Car(int w) :_w(w)
//	{ }
//	friend int GetWeight(Car c, Boat b);
//};
//
//int GetWeight(Car c, Boat b)
//{
//	return c._w + b._w;
//}
//
//int main()
//{
//	Boat b(10);
//	Car c(20);
//	cout << GetWeight(c, b);
//
//	return 0;
//}


#include<iostream>

using namespace std;

class A
{
public:
	A(int a)
	{
		cout << "A()" << endl;
	} 
	virtual void Func()
	{
		cout << 1 << endl;
	}
};

class B : public A
{
public:
	B(int a, int b) :A(a)
	{
		cout << "B()" << endl;
	}
	void Func()
	{
		cout << 2 << endl;
	}
};

int main()
{
	B b(10, 20);
	A* ptr;
	ptr->Func();

	return 0;
}